Power control device for processor

ABSTRACT

A processor has: a power table including a plurality of power control registers each rewritably storing power control information; a condition determiner for rewritably storing a plurality of operating conditions (e.g., a comparison address to be compared with the program counter) and determining which one of the plurality of operating conditions is satisfied by a current operation of the processor so as to supply an index signal to select one of the plurality of power control registers based on the determination; and a voltage/clock controller for controlling the power consumption in a control object circuit block according to the power control information in one of the power control registers that is selected by the index signal.

RELATED APPLICATIONS

This application is a Divisional of U.S. application Ser. No.12/505,158, filed on Jul. 17, 2009, now U.S. Pat. No. 8,041,965 which isa Divisional of U.S. patent application Ser. No. 10/988,625, filed onNov. 16, 2004, now U.S. Pat. No. 7,584,367, which is a Divisional ofU.S. patent application Ser. No. 10/003,533, filed on Dec. 6, 2001, nowU.S. Pat. No. 6,826,705, claiming priority of Japanese PatentApplication No. 2000-378752, filed on Dec. 13, 2000, the entire contentsof each of which are hereby incorporated by reference.

BACKGROUND OF THE INVENTION

The present invention relates to a power control device for controllingthe amount of power to be consumed in a processor.

Computers, microprocessors, microcontrollers, digital signal processors(DSPs), etc., are known in the art. Herein, these stored program typedevices are referred to generally as “processors”.

Some conventional processors include a power control device. Forexample, a power control device for a processor lowers the frequency ofthe internal clock of the processor to a lower frequency in the stand-bymode, thereby reducing the power consumption.

With the conventional power control device for a processor, however, thelower clock frequency cannot be determined by the user of the processor.Moreover, the stand-by mode is selected through execution of a specialinstruction by the processor, thereby increasing the size of theprogram.

SUMMARY OF THE INVENTION

An object of the present invention is to allow the user to finely definethe low power mode operation of a processor.

Another object of the present invention is to provide a power controldevice of an event-driven type, thereby reducing the programming load.

In order to achieve these objects, the present invention provides apower control device for controlling the amount of power to be consumedin a processor, the power control device including: a power tableincluding a plurality of power control registers each rewritably storingpower control information; a condition determiner for rewritably storinga plurality of operating conditions and determining which one of theplurality of operating conditions is satisfied by a current operation ofthe processor so as to supply an index signal to select one of theplurality of power control registers based on the determination; and acontroller for controlling the power consumption in the processoraccording to the power control information in one of the power controlregisters that is selected by the index signal.

With the power control device of the present invention, the user isallowed to rewrite the power control information and the operatingconditions before or while the program is executed so as to finelydefine the low power mode operation of the processor. The rewriteoperation can be done when the processor is manufactured.

In the power control device of the present invention, the currentcondition of the processor is automatically determined by the conditiondeterminer. Therefore, it is possible to realize an event-driven typepower control device by using, as an input to the condition determiner,an address indicated by the program counter of the processor, the typeof an event that has occurred in the processor, the time indicated bythe time signal from the processor, etc.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram illustrating a power control device for amicroprocessor according to a first embodiment of the present invention.

FIG. 2 is a block diagram illustrating a specific example of a powertable in FIG. 1.

FIG. 3 is a block diagram illustrating a specific example of a voltagecontroller in FIG. 1.

FIG. 4 is a block diagram illustrating a specific example of a clockcontroller in FIG. 1.

FIG. 5 is a conceptual diagram illustrating an example of an operationperformed by the power control device of FIG. 1.

FIG. 6 is a block diagram illustrating a variation of a conditiondeterminer in FIG. 1.

FIG. 7 is a block diagram illustrating another variation of thecondition determiner in FIG. 1.

FIG. 8 is a block diagram illustrating a microprocessor including apower control device according to a second embodiment of the presentinvention.

FIG. 9 is a block diagram illustrating a specific example of a conditiondeterminer in FIG. 8.

FIG. 10 is a conceptual diagram illustrating an example of an operationperformed by the power control device of FIG. 8.

FIG. 11 is a block diagram illustrating a microprocessor including apower control device according to a third embodiment of the presentinvention.

FIG. 12 is a block diagram illustrating a specific example of acondition determiner in FIG. 11.

FIG. 13 is a conceptual diagram illustrating an example of an operationperformed by the power control device of FIG. 11.

FIG. 14 is a block diagram illustrating a variation of the conditiondeterminer in FIG. 11.

DETAILED DESCRIPTION OF THE INVENTION

Specific applications of the present invention to a microprocessor willnow be described with reference to the drawings.

First Embodiment

FIG. 1 illustrates a power control device for a microprocessor 10according to a first embodiment of the present invention. Themicroprocessor 10 includes a program counter 11, a plurality of circuitblocks 15 and a power control device. The power control device includesa power table 20, a condition determiner 30 and a voltage/clockcontroller 40.

The power table 20 includes a plurality of power control registers 21each rewritably storing power control information. Each power controlinformation includes block information specifying one or more of theplurality of circuit blocks 15 to be subjected to a power control,information regarding the voltage of a control object block (voltageinformation), and information regarding the clock to be supplied to acontrol object block (clock information). One of the plurality of powercontrol registers 21 is selected by an index signal supplied from thecondition determiner 30.

The voltage/clock controller 40 is a controller for controlling thepower consumption of a control object circuit block according to thepower control information in the power control register 21 that isselected by the index signal. The voltage/clock controller 40 includes avoltage controller for receiving the block information and the voltageinformation, and a clock controller 45 for receiving the blockinformation and the clock information.

The condition determiner 30 includes an address table 31, a comparator32 and a latch 33. The address table 31 includes a plurality ofregisters each rewritably storing a comparison address and an indexnumber associated with the comparison address. The comparator 32determines which one of the plurality of comparison addresses in theaddress table 31 matches the address indicated by the program counter11. The latch 33 holds the index number associated with the comparisonaddress that has been determined to be a match, and supplies a signalrepresenting the index number to the power table 20 as the index signal.

FIG. 2 illustrates a specific example of the power table 20 in FIG. 1.Each power control register 21 includes an object block specifyingfield, first and second voltage specifying fields, and first and secondclock specifying fields. The object block specifying field has aplurality of bits corresponding respectively to the plurality of circuitblocks 15. For example, a bit value “1” indicates that the correspondingcircuit block is to be the object of a power control. The information ofthe object block specifying field is supplied to the voltage controller41 and the clock controller 45 as block information (INFO_BLK). Thefirst voltage specifying field is a field for storing first voltageinformation (INFO_Vcc) that represents the magnitude of a power supplyvoltage Vcc to be supplied to the control object circuit block. Thesecond voltage specifying field is a field for storing second voltageinformation (INFO_Vt) used for controlling a threshold voltage Vt ofeach transistor of the control object circuit block. The first clockspecifying field is a field for storing first clock information(INFO_FREQ) that represents the frequency of the clock to be supplied tothe control object circuit block. The second clock specifying field is afield for storing second clock information (INFO_TERM) that representswhether or not to terminate the supply of the clock to the controlobject circuit block. The voltage information and the clock informationare supplied to the voltage controller 41 and the clock controller 45,respectively.

FIG. 3 illustrates a specific example of the voltage controller 41 inFIG. 1. The voltage controller 41 of FIG. 3 includes a DC-DC converter42, a zero determiner 43, and a logic circuit 44 provided for eachblock. The DC-DC converter 42 converts a base voltage to a voltage of amagnitude that is specified by the first voltage information (INFO_Vcc),and outputs the converted voltage as a power supply voltage Vcc. Thezero determiner 43 determines whether or not zero is specified by thefirst voltage information (INFO_Vcc). Each logic circuit 44 includes twoAND gates, and outputs a power supply blocking signal and a Vt selectionsignal. The power supply blocking signal is based on the blockinformation (INFO_BLK) and the output of the zero determiner 43, and theVt selection signal is based on the block information (INFO_BLK) and thesecond voltage information (INFO_Vt). The power supply blocking signalis used for controlling the power supply voltage Vcc supply switch inthe control object circuit block. The Vt selection signal is used forselecting a back gate voltage of a MOS transistor, for example, so as tocontrol the threshold voltage Vt of each transistor of the controlobject circuit block. The power consumption of each circuit block isproportional to the square of the power supply voltage Vcc. Therefore, areduction in the power supply voltage Vcc quite significantlycontributes to reducing the power consumption of the circuit block.Moreover, by controlling the transistor threshold voltage Vt, it ispossible to realize a high speed operation mode of the transistor and anon-operating mode thereof in which a leak current is reduced.

FIG. 4 illustrates a specific example of the clock controller 45 inFIG. 1. The clock controller 45 of FIG. 4 includes a PLL 46, a frequencydivider 47, and a logic circuit 48 provided for each block. The PLL 46generates, from a base clock, an internal clock for a normal operationthat has a particular frequency. The frequency divider 47 divides theinternal clock with a frequency dividing ratio according to the clockfrequency that is specified by the first clock information (INFO_FREQ).The logic circuit 48, including one multiplexer and one AND gate,selects either one of the internal clock supplied from the PLL 46 andthe frequency-divided clock supplied from the frequency divider 47 basedon the block information (INFO_BLK), and controls supply/termination ofthe selected clock based on the second clock information (INFO_TERM).The power consumption of each circuit block is proportional to the clockfrequency. Therefore, a reduction in the clock frequency significantlycontributes to reducing the power consumption of a circuit block that isnot required to operate at a high speed.

FIG. 5 conceptually illustrates an example of an operation performed bythe power control device of FIG. 1. In FIG. 5, the power table 20includes four power control registers that are identified by respectiveindex numbers 0, 1, 2 and 3. The address table 31 stores the pair ofcomparison address 1000 and index number 3, the pair of comparisonaddress 1400 and index number 2, the pair of comparison address 4B00 andindex number 0, the pair of comparison address 7010 and index number 3,the pair of comparison address C6FF and index number 1, the pair ofcomparison address D200 and index number 2, and the pair of comparisonaddress D770 and index number 1.

The operation illustrated in FIG. 5 realizes the following power controlaccording to the program flow of the microprocessor 10. First, theexecution of the program starts at address 0000. Then, when theinstruction at address 1000 is executed, the address indicated by theprogram counter 11 matches the first comparison address in the addresstable 31. Thus, an index signal representing number 3 is supplied to thepower table 20. Upon receipt of the index signal, the power table 20supplies power control information that is specified by index number 3to the voltage/clock controller 40, and the voltage/clock controller 40performs a power control and a clock control according to the powercontrol information. Then, when the execution of the program reachesaddress 1400, the address indicated by the program counter 11 matchesthe second comparison address in the address table 31, whereby an indexsignal representing number 2 is supplied to the power table 20. Uponreceipt of the index signal, the power table 20 supplies power controlinformation that is specified by index number 2 to the voltage/clockcontroller 40, and the voltage/clock controller 40 performs a powercontrol and a clock control according to the power control information.Then, when a subroutine call instruction to branch off to address C6FFis executed, the address indicated by the program counter 11 matches thefifth comparison address in the address table 31, whereby an indexsignal representing number 1 is supplied to the power table 20. Uponreceipt of the index signal, the power table 20 supplies power controlinformation that is specified by index number 1 to the voltage/clockcontroller 40, and the voltage/clock controller 40 performs a powercontrol and a clock control according to the power control information.

As described above, with the power control device of FIG. 1, the user isallowed to rewrite the power table 20 and the address table 31 asdesired so as to finely define the low power mode operation of themicroprocessor 10. A power control operation can be performedfrequently, e.g., on a subroutine-by-subroutine basis, or on aninstruction-by-instruction basis. Alternatively, a power controloperation can be performed only when executing instructions within aspecified address range, or only when executing certain instruction(s)within a nested loop. Moreover, it is not necessary to execute a specialinstruction for such a power control, whereby the power control will notreduce the processing efficiency of an application program itself orincrease the instruction memory capacity. Furthermore, with the powercontrol device of FIG. 1, an application program can be developedindependently of the power control design. Therefore, it is possible toimprove the program development efficiency and the maintainability.Moreover, it is possible to realize a detailed power control withoutmodifying the existing application programs.

FIG. 6 illustrates a variation of the condition determiner 30 in FIG. 1.Referring to FIG. 6, an incrementer 12 and a selector 13 are providedfor updating the program counter 11. The incrementer 12 receives anoutput address signal from the program counter 11, and increments theaddress. The selector 13 is designed so that it normally supplies theoutput address of the incrementer 12 to the program counter 11, while itsupplies a branch address to the program counter 11 when a load signalis received. The condition determiner 30 of FIG. 6 includes an addressdiscontinuity detector 34 for receiving a load signal and generating anenable signal, in addition to the address table 31, the comparator 32and the latch 33. The comparator 32 is controlled by the enable signalso as to perform an address match determination only when adiscontinuous change is detected in the address indicated by the programcounter 11. As a result, the power consumption in the conditiondeterminer 30 is reduced from that in the case of FIG. 1.

FIG. 7 illustrates another variation of the condition determiner 30 inFIG. 1. The condition determiner 30 of FIG. 7 is suitable for a powercontrol performed on a subroutine-by-subroutine basis, for example. Theaddress table 31 of the condition determiner 30 includes a plurality ofregisters each rewritably storing a comparison start address, acomparison end address associated with the comparison start address, andan index number associated with the comparison start address and thecomparison end address. The condition determiner 30 determines one of aplurality of address ranges each defined by one of the comparison startaddresses and one of the comparison end addresses to which the addressindicated by the program counter 11 belongs to, and outputs, to thepower table 20 as an index signal, a signal representing the indexnumber that is associated with the comparison start address and thecomparison end address defining the address range that has beendetermined to include the indicated address. For such an operation, thecondition determiner 30 of FIG. 7 includes a first comparator 32 a, asecond comparator 32 b, an AND gate 35 and a latch 33, in addition tothe address table 31. An address range determination over a greaterrange than that in the case of FIG. 7 can be realized by performing amatch determination at the comparator 32 in FIG. 1 with only one or moreupper bits of the address.

Second Embodiment

FIG. 8 illustrates a microprocessor 110 including a power control deviceaccording to a second embodiment of the present invention. Themicroprocessor 110 of FIG. 8 has a function of receiving a burst of datafrom an external block 150 as an interrupt process based on atransmission start/completion flag that is provided from the externalblock 150. The microprocessor 110 includes an event signal generator 111for generating an event signal representing an interrupt type (eventtype) according to the transmission start/completion flag, etc., areceiving process block 115 for receiving data, a memory block 116 forstoring received data, and a miscellaneous function block 117. Themicroprocessor 110 of FIG. 8 further includes a power table 120 similarto the power table 20 in FIG. 1, a condition determiner 130 forsupplying an index signal to the power table 120 in response to an eventsignal, and a voltage/clock controller 140 similar to the voltage/clockcontroller 40 in FIG. 1, which together form a power control device forcontrolling the power consumption of the circuit blocks 115, 116 and117.

FIG. 9 illustrates a specific example of the condition determiner 130 inFIG. 8. The condition determiner 130 of FIG. 9 includes an event table131, a comparator 132 and a latch 133. The event table 131 includes aplurality of registers each rewritably storing a comparison event typeand an index number associated with the comparison event type. Thecomparator 132 determines which one of the plurality of comparison eventtypes in the event table 131 matches the event type represented by theevent signal generated by the event signal generator 111. The latch 133holds the index number associated with the comparison event type thathas been determined to be a match, and supplies a signal representingthe index number to the power table 120 as the index signal.

FIG. 10 conceptually illustrates an example of an operation performed bythe power control device of FIG. 8. In FIG. 10, the power table 120includes four power control registers that are identified by respectiveindex numbers 0, 1, 2 and 3. The event table 131 stores the pair ofcomparison event type 1 and index number 3, the pair of comparison eventtype 2 and index number 2, the pair of comparison event type 3 and indexnumber 0, the pair of comparison event type 4 and index number 3, thepair of comparison event type 5 and index number 1, the pair ofcomparison event type 6 and index number 2, and the pair of comparisonevent type 7 and index number 1. The external block 150 activates thetransmission start/completion flag when starting the data transmissionto the microprocessor 110, and negates the flag when completing the datatransmission. In response to this, the event signal generator 111generates a signal that represents event type 4 upon activation of thetransmission start/completion flag, and a signal that represents eventtype 5 upon negation of the flag.

The operation illustrated in FIG. 10 realizes the following powercontrol according to the type of an event occurring in themicroprocessor 110. First, when starting the data transmission from theexternal block 150 to the microprocessor 110, the transmissionstart/completion flag is activated, in response to which the eventsignal generator 111 generates a signal that represents event type 4,whereby the type of an event that has occurred matches the fourthcomparison event type in the event table 131. Therefore, an index signalrepresenting number 3 is supplied to the power table 120. Upon receiptof the index signal, the power table 120 supplies power controlinformation that is specified by index number 3 to the voltage/clockcontroller 140, and the voltage/clock controller 140 performs a powercontrol and a clock control according to the power control information.At this time, it is possible to, for example, increase the power supplyvoltage Vcc supplied to the receiving process block 115 while alsoincreasing the frequency of the clock to be supplied to the block 115.Then, upon completion of the data transmission from the external block150 to the microprocessor 110, the transmission start/completion flag isnegated, in response to which the event signal generator 111 generates asignal that represents event type 5, whereby the type of an event thathas occurred matches the fifth comparison event type in the event table131. Therefore, an index signal representing number 1 is supplied to thepower table 120. Upon receipt of the index signal, the power table 120supplies power control information that is specified by index number 1to the voltage/clock controller 140, and the voltage/clock controller140 performs a power control and a clock control according to the powercontrol information. At this time, it is possible to, for example, blockthe power supply voltage to the receiving process block 115 whileterminating the supply of the clock to the block 115. In this way, thereceiving process block 115 can be operated at a high speed only when itis necessary.

As described above, with the power control device of FIG. 8, the user isallowed to rewrite the power table 120 and the event table 131 asdesired so as to finely define the low power mode operation of themicroprocessor 110 according to events that occur asynchronously with anapplication program. Moreover, it is not necessary to execute a specialinstruction for such a power control, whereby the power control will notreduce the processing efficiency of an application program itself orincrease the instruction memory capacity. Furthermore, with the powercontrol device of FIG. 8, an application program can be developedindependently of the power control design. Therefore, it is possible toimprove the program development efficiency and the maintainability.Moreover, it is possible to realize a detailed power control withoutmodifying the existing application programs.

Third Embodiment

FIG. 11 illustrates a microprocessor 210 including a power controldevice according to a third embodiment of the present invention. Themicroprocessor 210 of FIG. 11 has a function of performing a datatransmission/reception operation to/from an external block 250 in apredetermined time period. The microprocessor 210 includes a timer 211for generating a time signal representing the time, a reception block215 for receiving data, a transmission block 216 for transmitting data,and a miscellaneous function block 217. The microprocessor 210 of FIG.11 further includes a power table 220 similar to the power table 20 inFIG. 1, a condition determiner 230 for supplying an index signal to thepower table 220 in response to the time signal, and a voltage/clockcontroller 240 similar to the voltage/clock controller 40 in FIG. 1,which together form a power control device for controlling the powerconsumption of the circuit blocks 215, 216 and 217.

FIG. 12 illustrates a specific example of the condition determiner 230in FIG. 11. The condition determiner 230 of FIG. 12 includes a timetable 231, a comparator 232 and a latch 233. The time table 231 includesa plurality of registers each rewritably storing a comparison time andan index number associated with the comparison time. The comparator 232determines which one of the plurality of comparison times in the timetable 231 matches the time represented by the time signal generated bythe timer 211. The latch 233 holds the index number associated with thecomparison time that has been determined to be a match, and supplies asignal representing the index number to the power table 220 as the indexsignal.

FIG. 13 conceptually illustrates an example of an operation performed bythe power control device of FIG. 11. In FIG. 13, the power table 220includes four power control registers that are identified by respectiveindex numbers 0, 1, 2 and 3. The time table 231 stores many pairs ofcomparison time and index number. In FIG. 13, T000, T020, T040, T050,T100, T120, T140 and T150 each represent a time. Consider a case wherethe microprocessor 210 performs a transmission operation in a timeperiod from T040 to T050, and a reception operation in a time periodfrom T100 to T120.

The operation illustrated in FIG. 13 realizes the following powercontrol according to the passage of time. First, when the time signalfrom the timer 211 indicates T020, the time matches comparison time T020in the time table 231, whereby an index signal representing number 3 issupplied to the power table 220. Upon receipt of the index signal, thepower table 220 supplies power control information that is specified byindex number 3 to the voltage/clock controller 240, and thevoltage/clock controller 240 performs a power control and a clockcontrol according to the power control information. At this time, it ispossible to, for example, terminate the supply of the power supplyvoltage and the clock to the reception block 215 and the transmissionblock 216 while lowering the general operating frequency of themicroprocessor 210. In this way, the power consumption can be reducedfor the processor as a whole. Then, when the time signal from the timer211 indicates T040, the time matches comparison time T040 in the timetable 231, whereby an index signal representing number 1 is supplied tothe power table 220. Upon receipt of the index signal, the power table220 supplies power control information that is specified by index number1 to the voltage/clock controller 240, and the voltage/clock controller240 performs a power control and a clock control according to the powercontrol information. At this time, it is possible to, for example, startsupplying the power supply voltage and the clock to the transmissionblock 216 while terminating the supply of the power supply voltage andthe clock to the reception block 215 and to increase the generaloperating frequency of the microprocessor 210 to a medium level. Then,when the time signal from the timer 211 indicates T050, the time matchescomparison time T050 in the time table 231, whereby an index signalrepresenting number 3 is again supplied to the power table 220, thusreturning to the state in the time period from T020 to T040. Then, whenthe time signal from the timer 211 indicates T100, the time matchescomparison time T100 in the time table 231, whereby an index signalrepresenting number 2 is supplied to the power table 220. Upon receiptof the index signal, the power table 220 supplies power controlinformation that is specified by index number 2 to the voltage/clockcontroller 240, and the voltage/clock controller 240 performs a powercontrol and a clock control according to the power control information.At this time, it is possible to, for example, start supplying the powersupply voltage and the clock to the reception block 215 whileterminating the supply of the power supply voltage and the clock to thetransmission block 216 and to increase the general operating frequencyof the microprocessor 210 to the maximum level.

As described above, with the power control device of FIG. 11, the useris allowed to rewrite the power table 220 and the time table 231 asdesired so as to finely define the low power mode operation of themicroprocessor 210 according to the passage of time. Moreover, it is notnecessary to execute a special instruction for such a power control,whereby the power control will not reduce the processing efficiency ofan application program itself or increase the instruction memorycapacity. Furthermore, with the power control device of FIG. 11, anapplication program can be developed independently of the power controldesign. Therefore, it is possible to improve the program developmentefficiency and the maintainability. Moreover, it is possible to realizea detailed power control without modifying the existing applicationprograms. The number of registers in the time table 231 can be reducedby periodically resetting the timer 211.

FIG. 14 illustrates a variation of the condition determiner 230 in FIG.11. The time table 231 of the condition determiner 230 of FIG. 14includes a plurality of registers each rewritably storing a comparisonstart time, a comparison end time associated with the comparison starttime, and an index number associated with the comparison start time andthe comparison end time. The condition determiner 230 determines one ofa plurality of time periods each defined by one of the comparison starttimes and one of the comparison end times to which the time indicated bythe time signal from the timer 211 belongs to, and outputs, to the powertable 220 as an index signal, a signal representing the index numberthat is associated with the comparison start time and the comparison endtime defining the time period that has been determined to include theindicated time. For such an operation, the condition determiner 230 ofFIG. 14 includes a first comparator 232 a, a second comparator 232 b, anAND gate 235 and a latch 233, in addition to the time table 231. A timeperiod determination over a greater period of time than that in the caseof FIG. 14 can be realized by performing a match determination at thecomparator 232 in FIG. 12 with only one or more upper bits of the timesignal.

Each of the embodiments described above can be modified in various ways.For example, in the configuration of FIG. 1, the power table 20 and theaddress table 31 may be integrated together into a single device forsome particular applications. While each of the power control registers21 in FIG. 2 includes five fields, the number of fields is not limitedto this. For example, each of the power control registers 21 may includeonly a field for the power supply voltage Vcc for some particularapplications.

Each of the tables described above is not limited to a flip flop or alatch, but may alternatively be programmable logic such as a RAM, anEEPROM or an FPGA. Each table may be rewritable through execution of aninstruction. A plurality of power tables may be provided.

The index signal to be supplied to each power table may be updatedthrough execution of an instruction. For example, the index number of apower table can be specified by the operand portion of a branchinstruction such as a subroutine call instruction.

The input to the condition determiner may be an instruction code or datathat is handled by the microprocessor. A power supply voltage controlmay be performed by detecting, with a condition determiner,writing/reading of data to/from a particular memory space (e.g., thespace of a flash memory).

A power control can be performed by combining the embodiments describedabove with one another. For example, the power supply voltage can bereduced only when a particular subroutine is being executed based onaddress comparison, while the clock frequency is increased in responseto an external event.

What is claimed is:
 1. A power control device for controlling an amountof power to be consumed in a processor, the power control devicecomprising: a power table including a plurality of power controlregisters each storing power control information; a condition determinerhaving a first table for storing a plurality of sets of informationincluding an operating condition indicating a predetermined internalcondition of the processor; and a controller for controlling a powerconsumption in the processor, wherein the condition determiner outputs acommand corresponding to the internal condition of the processor byreferring to the first table, the power table selects one of the powercontrol registers corresponding to the command, and the controllercontrols the power consumption in the processor by controlling a voltagesupplied to the processor according to the power control informationstored in the selected one of the power control registers.
 2. A powercontrol method for controlling an amount of power to be consumed in aprocessor comprising a power control device having a power tableincluding a plurality of power control registers each storing powercontrol information, said power control device configured to performsaid power control method, the method comprising; referring to a firsttable for storing a plurality of sets of information including anoperating condition indicating a predetermined internal condition of theprocessor and a command to output the command corresponding to aninternal condition of the processor; selecting any of the power controlregisters corresponding to the command; and controlling a powerconsumption in the processor by controlling a voltage supplied to theprocessor according to the power control information in the selected oneof the power control registers.
 3. The power control device of claim 1,wherein the controller controls a magnitude of the voltage supplied tothe processor.
 4. The power control method of claim 2, wherein saidcontrolling the power consumption in the processor comprises controllinga magnitude of the voltage supplied to the processor.